//
//  RORequestManager.h
//  Runone
//
//  Created by runone02 on 16/12/19.
//  Copyright © 2016年 runone. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "AFNetworking.h"


// 解析器类型
typedef NS_ENUM(NSUInteger, ROResponseSerializerType) {
    /**
     *  默认类型 JSON  如果使用这个响应解析器类型,那么请求返回的数据将会是JSON格式
     */
    ROResponseSeializerTypeDefault,
    /**
     *  JSON类型 如果使用这个响应解析器类型,那么请求返回的数据将会是JSON格式
     */
    ROResponseSeializerTypeJSON,
    /*
     *  XML类型 如果使用这个响应解析器类型,那么请求返回的数据将会是XML格式
     */
    ROResponseSeializerTypeXML,
    /**
     *  Plist类型 如果使用这个响应解析器类型,那么请求返回的数据将会是Plist格式
     */
    ROResponseSeializerTypePlist,
    /*
     *  Compound类型 如果使用这个响应解析器类型,那么请求返回的数据将会是Compound格式
     */
    ROResponseSeializerTypeCompound,
    /**
     *  Image类型 如果使用这个响应解析器类型,那么请求返回的数据将会是Image格式
     */
    ROResponseSeializerTypeImage,
    /**
     *  Data类型 如果使用这个响应解析器类型,那么请求返回的数据将会是二进制格式
     */
    ROResponseSeializerTypeData
};

@interface RORequestManager : NSObject

//+ (void)saveStrone:(NSString *)strone;

+ (void)POST:(NSString *)urlString parameters:(id)parameters responseSerializerType:(ROResponseSerializerType)type success:(void(^)(id responseObject))success failure:(void(^)(NSError *error))failure;

+ (void)POST:(NSString *)urlString parameters:(id)parameters imagesOrVideos:(NSArray <NSString *>*)imagesArr responseSerializerType:(ROResponseSerializerType)type constructingBodyWithBlock:(void(^)(id<AFMultipartFormData> fromData))block success:(void(^)(id responseObject))success failure:(void(^)(NSError *error))failure;

+ (void)cancelAllRequests;
@end
